Balance Machines: Computing = Balancing
نویسندگان
چکیده
We propose a natural computational model called a balance machine. The computational model consists of components that resemble ordinary physical balances, each with an intrinsic property to automatically balance the weights on their left, right pans. If we start with certain fixed weights (representing inputs) on some of the pans, then the balance– like components would vigorously try to balance themselves by filling the rest of the pans with suitable weights (representing the outputs). This balancing act can be viewed as a computation. We will show that the model allows us to construct those primitive (hardware) components that serve as the building blocks of a general purpose (universal) digital computer: logic gates, memory cells (flip-flops), and transmission lines. One of the key features of the balance machine is its “bidirectional” operation: both a function and its (partial) inverse can be computed spontaneously using the same machine. Some practical applications of the model are discussed. 1 Computing as a “Balancing Feat” A detailed account of the proposed model will be given in Section 2. In this section, we simply convey the essence of the model without delving into technical details. The computational model consists of components that resemble ordinary physical balances (see Figure 1), each with an intrinsic property to automatically balance the weights on their left, right pans. In other words, if we start with certain fixed weights (representing inputs) on some of the pans, then the balance– like components would vigorously try to balance themselves by filling the rest of the pans with suitable weights (representing the outputs). Roughly speaking, the proposed machine has a natural ability to load itself with (output) weights that “balance” the input. This balancing act can be viewed as a computation. There is just one rule that drives the whole computational process: the left and right pans of the individual balances should be made equal.Note that the machine is designed in such a way that the balancing act would happen automatically by virtue of physical laws (i.e., the machine is self-regulating). One of our aims is to show that all computations can be ultimately expressed using one primitive operation: 1 If the machine cannot (eventually) balance itself, it means that the particular instance does not have a solution. N. Jonoska et al. (Eds.): Molecular Computing (Head Festschrift), LNCS 2950, pp. 36–48, 2004. c © Springer-Verlag Berlin Heidelberg 2004 Balance Machines: Computing = Balancing 37 balancing. Armed with the computing = balancing intuition, we can see basic computational operations in a different light. In fact, an important result of this paper is that this sort of intuition suffices to conceptualize/implement any computation performed by a conventional computer. Fig. 1. Physical balance. The rest of the paper is organized as follows: Section 2 gives a brief introduction to the proposed computational model; Section 3 discusses a variety of examples showing how the model can be made to do basic computations; Section 4 is a brief note on the universality feature of the model; Section 5 reviews the notion of bilateral computing and discusses an application (solving the classic SAT problem); Section 6 concludes the paper. 2 The Balance Machine Model At the core of the proposed natural computational model are components that resemble a physical balance. In ancient times, the shopkeeper at a grocery store would place a standard weight in the left pan and would try to load the right pan with a commodity whose weight equals that on the left pan, typically through repeated attempts. The physical balance of our model, though, has an intrinsic self-regulating mechanism: it can automatically load (without human intervention) the right pan with an object whose weight equals the one on the left pan. See Figure 2 for a possible implementation of the self-regulating mechanism. In general, unlike the one in Figure 2, a balance machine may have more than just two pans. There are two types of pans: pans carrying fixed weights which remain unaltered by the computation and pans with variable (fluid) weights that are changed by activating the filler–spiller outlets. Some of the fixed weights represent the inputs, and some of the variable ones represent outputs. The inputs and outputs of balance machines are, by default, non–negative reals unless stated otherwise. The following steps comprise a typical computation by a given balance machine: 38 Joshua J. Arulanandham, Cristian S. Calude, and Michael J. Dinneen
منابع مشابه
On the Minimization of Workload Balancing Criteria on Identical Parallel Machines
This paper studies the problem of scheduling jobs on identical parallel processors to minimize workload balancing criteria. While workload balancing is certainly an important criterion given the need of production systems to use all of their resources efficiently, there is no established measure of performance in the scheduling literature that characterizes total workload balance. In this paper...
متن کاملPeriodic hierarchical load balancing for large supercomputers
Large parallel machines with hundreds of thousands of processors are being built. Ensuring good load balance is critical for scaling certain classes of parallel applications on even thousands of processors. Centralized load balancing algorithms suffer from scalability problems, especially on machines with relatively small amount of memory. Fully distributed load balancing algorithms, on the oth...
متن کاملOnline Distribution and Load Balancing Optimization Using the Robin Hood and Johnson Hybrid Algorithm
Proper planning of assembly lines is one of the production managers’ concerns at the tactical level so that it would be possible to use the machine capacity, reduce operating costs and deliver customer orders on time. The lack of an efficient method in balancing assembly line can create threatening problems for manufacturing organizations. The use of assembly line balancing methods cannot balan...
متن کاملAn Improved Hadoop Data Load Balancing Algorithm
Data load balancing is one of the key problems of big data technology. As a big data application, Hadoop has had many successful applications. HDFS is Hadoop Distributed File System and has the load balancing procedure which can balance the storage load on each machine. However, this method cannot balance the overload rack preferentially, and so it is likely to cause the breakdown of overload m...
متن کاملLoad Balancing in Cloud Computing with Enhanced Optimal Cost Scheduling Algorithm
Cloud computing is a trending technology to provide ease of access to services that a user requires with pay-as-you-go model. The number of user requests on the servers increase tremendously therefore increasing load on the servers. This requires a proper load balancing technique to balance the load on the virtual machines. In this paper we have modified an existing algorithm Optimal Cost Sched...
متن کاملGASA: Presentation of an Initiative Method Based on Genetic Algorithm for Task Scheduling in the Cloud Environment
The need for calculating actions has been emerged everywhere and in any time, by advancing of information technology. Cloud computing is the latest response to such needs. Prominent popularity has recently been created for Cloud computing systems. Increasing cloud efficiency is an important subject of consideration. Heterogeneity and diversity among different resources and requests of users in ...
متن کامل